home *** CD-ROM | disk | FTP | other *** search
- --------------------------------------------------------------------------------
- -- Weapon Brain Punch
- -- Original Carnage Contest Weapon
- -- Script by DC, September 2009, www.UnrealSoftware.de
- --------------------------------------------------------------------------------
-
- -- Setup Tables
- if cc==nil then cc={} end
- cc.brainpunch={}
-
- -- Load & Prepare Ressources
- cc.brainpunch.gfx_wpn=loadgfx("weapons/uppercut.bmp") -- Weapon Image
- setmidhandle(cc.brainpunch.gfx_wpn)
- cc.brainpunch.gfx_icon=loadgfx("weapons/brainpunch.bmp") -- Weapon Icon
- setmidhandle(cc.brainpunch.gfx_icon)
- cc.brainpunch.sfx_attack=loadsfx("throw.ogg") -- Attack Sound
-
- --------------------------------------------------------------------------------
- -- Weapon: Brain Punch
- --------------------------------------------------------------------------------
-
- cc.brainpunch.id=addweapon("cc.brainpunch","Brain Punch",cc.brainpunch.gfx_icon,1) -- Add Weapon (1 use)
-
- function cc.brainpunch.draw() -- Draw
- -- Decrease Timer (used for arm animation)
- if weapon_timer>0.0 then
- weapon_timer=weapon_timer-0.5
- end
- -- Draw
- if getplayeraction(0)==0 then
- setblend(blend_alpha)
- setalpha(1)
- setcolor(255,255,255)
- setscale(-getplayerdirection(0),1)
- setrotation(0)
- drawimage(cc.brainpunch.gfx_wpn,getplayerx(0)+getplayerdirection(0)*9,getplayery(0)+2-weapon_timer)
- end
- end
-
- function cc.brainpunch.attack(attack) -- Attack
- if (weapon_shots<=0) then
- if (attack==1) then
- -- No more weapon switching!
- useweapon(0)
- playsound(cc.brainpunch.sfx_attack)
- weapon_shots=weapon_shots+1
- -- Set timer for arm animation
- weapon_timer=7
- -- Collision (side)
- col1=0
- if collision(col5x5,getplayerx(0)+getplayerdirection(0)*20,getplayery(0)-3,0,1,0)==1 then
- if playercollision()~=0 and playercollision()~=playercurrent() then
- playerpush(playercollision(),getplayerdirection(0)*3,-5)
- playerdamage(playercollision(),30)
- playerstate(playercollision(),state_confused,1)
- playsound(sfx_splatter1)
- col1=playercollision()
- particle(p_ring,getplayerx(playercollision()),getplayery(playercollision()))
- particlecolor(255,0,0)
- blood(getplayerx(playercollision()),getplayery(playercollision()))
- end
- end
- -- Collision (top)
- if collision(col20x20,getplayerx(0),getplayery(0)-30,0,1,0)==1 then
- if playercollision()~=0 and playercollision()~=playercurrent() and playercollision()~=col1 then
- playerpush(playercollision(),getplayerdirection(0)*3,-5)
- playerdamage(playercollision(),30)
- playerstate(playercollision(),state_confused,1)
- playsound(sfx_splatter1)
- particle(p_ring,getplayerx(playercollision()),getplayery(playercollision()))
- particlecolor(255,0,0)
- blood(getplayerx(playercollision()),getplayery(playercollision()))
- end
- end
- -- End Turn
- endturn()
- end
- end
- end
-